package edu.xhu.behavior.service;

import com.baomidou.mybatisplus.extension.service.IService;
import edu.xhu.model.behavior.dto.ChatLoginDto;
import edu.xhu.model.behavior.dto.PrivateMessageDto;
import edu.xhu.model.behavior.pojos.BiliUserChat;
import edu.xhu.model.common.dtos.ResponseResult;

public interface BiliUserChatService extends IService<BiliUserChat> {

    /**
     * 创建一个个人聊天
     */
    ResponseResult<?> createChat(Long toId);

    /**
     * 发送个人私聊消息
     */
    ResponseResult<?> sendMessage(PrivateMessageDto dto);

    /**
     * 拉取toId的离线信息
     */
    ResponseResult<?> pullOfflineMessage(Long toId, Long minId);

    /**
     * 将会话中接收的消息状态置为已读
     */
    ResponseResult<?> readedMessage(Long toId);

    /**
     * 切换窗口时更新from的在线状态
     */
    ResponseResult<?> updateWhisperOnline(Long toId);

    /**
     * 返回当前用户聊天列表
     */
    ResponseResult<?> getChatList(Integer offset);

    /**
     * 分页查询历史消息
     */
    ResponseResult<?> getHistoryDetail(Long toId, Long detailId);

    /**
     * 聊天登录
     */
    ResponseResult<?> login(ChatLoginDto chatLoginDto);
}
